
#ifndef CLUSTER_H
#define CLUSTER_H



#include "graph.h"

/* Bring in the CPLEX function declarations and the C library
 header file stdio.h with include of cplex.h. */
#include <ilcplex/cplex.h>


/* Include declaration for functions */
void free_and_null (char **ptr);


int createProtoType(double **protoObj, int **protoMatBeg, int **protoMatCnt, int **protoMatInd, 
                    double **protoMatVal, char **protoSns, double **protoRhs);

int setProblemData (char **probname_p, int *numcols_p, int *numrows_p, int *numvars_p,
                    int *objsen_p, double **obj_p, double **rhs_p,
                    char **sense_p, int **matbeg_p, int **matcnt_p,
                    int **matind_p, double **matval_p,
                    double **lb_p, double **ub_p, char **ctype_p, int **indices_p);

int k_cluster(int inputKMax, double **X, double *objval);

#endif
